package com.ibm.demoBankJSF.base;

import java.util.*;
import java.text.*;


/**
 * Clase que gestiona todos los datos de un movimiento de una cuenta bancaria
 * @author Sergio Villegas, Javier Trapero y Ruben Ropero
 */
public class MovCuenta {
	private int idMovimiento;
	private String concepto;
	private Date fecha;
	private Date fechaValor;
	private String remitente;
	private double importe;
	private double saldo;
	private String importeStr;
	private String saldoStr;

	/**
	 * Crea una nueva instancia de MovCuenta con todos los parametros
	 * @param idMovimiento id del movimiento de cuenta
	 * @param concepto concepto del movimiento de cuenta
	 * @param fecha fecha del movimiento de cuenta
	 * @param fechaValor fechaValor del movimiento de cuenta
	 * @param remitente remitente  del movimiento de cuenta
	 * @param importe importe del cliemovimiento de cuentante
	 * @param saldo saldo del movimiento de cuenta
	 */
	public MovCuenta (int idMovimiento, String concepto, Date fecha, Date fechaValor, String remitente, double importe, double saldo){
		this.idMovimiento = idMovimiento;
		this.concepto = concepto;
		this.fecha = fecha;
		this.fechaValor = fechaValor;
		this.remitente = remitente;
		this.importe = importe;
		this.saldo = saldo;
	}

	/**
	 * @return the concepto
	 */
	public String getConcepto() {
		return concepto;
	}

	/**
	 * @param concepto the concepto to set
	 */
	public void setConcepto(String concepto) {
		this.concepto = concepto;
	}

	/**
	 * @return the fecha
	 */
	public Date getFecha() {
		return fecha;
	}

	/**
	 * @param fecha the fecha to set
	 */
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	/**
	 * @return the fechaValor
	 */
	public Date getFechaValor() {
		return fechaValor;
	}

	/**
	 * @param fechaValor the fechaValor to set
	 */
	public void setFechaValor(Date fechaValor) {
		this.fechaValor = fechaValor;
	}

	/**
	 * @return the idMovimiento
	 */
	public int getIdMovimiento() {
		return idMovimiento;
	}

	/**
	 * @param idMovimiento the idMovimiento to set
	 */
	public void setIdMovimiento(int idMovimiento) {
		this.idMovimiento = idMovimiento;
	}

	/**
	 * @return the importe
	 */
	public double getImporte() {
		return importe;
	}

	/**
	 * @param importe the importe to set
	 */
	public void setImporte(double importe) {
		this.importe = importe;
	}

	/**
	 * @return the remitente
	 */
	public String getRemitente() {
		return remitente;
	}

	/**
	 * @param remitente the remitente to set
	 */
	public void setRemitente(String remitente) {
		this.remitente = remitente;
	}

	/**
	 * @return the saldo
	 */
	public double getSaldo() {
		return saldo;
	}

	/**
	 * @param saldo the saldo to set
	 */
	public void setSaldo(double saldo) {
		this.saldo = saldo;
	}

	/**
	 * @return the importeStr
	 */
	public String getImporteStr() {
		DecimalFormat formatter = new DecimalFormat("#.00");
	    String importeStr = formatter.format(importe);      
		return importeStr;
	}

//	/**
//	 * @param importeStr the importeStr to set
//	 */
//	public void setImporteStr(double importeStr) {
//		this.importeStr = importeStr;
//	}

	/**
	 * @return the saldoStr
	 */
	public String getSaldoStr() {
		DecimalFormat formatter = new DecimalFormat("#.00");
	    String saldoStr = formatter.format(saldo);      
		return saldoStr;
	}

//	/**
//	 * @param saldoStr the saldoStr to set
//	 */
//	public void setSaldoStr(double saldoStr) {
//		this.saldoStr = saldoStr;
//	}

//	/**
//	 * Retorna el id del movimiento de cuenta
//	 * @return retorna el id
//	 */
//	public int getIdMovimiento(){
//		return idMovimiento;
//	}
//	
//	/**
//	 * Retorna el concepto del movimiento de cuenta
//	 * @return retorna el concepto
//	 */
//	public String getConcepto(){
//		return concepto;
//	}
//
//
//	/**
//	 * Retorna la fecha del movimiento de cuenta
//	 * @return retorna la fecha
//	 */
//	public Date getFecha(){
//		return fecha;
//	}
//
//	/**
//	 * Retorna la fechaValor del movimiento de cuenta
//	 * @return retorna la fechaValor
//	 */
//	public Date getFechaValor(){
//		return fechaValor;
//	}
//	/**
//	 * Retorna la fecha del movimiento de cuenta
//	 * @return retorna la fecha
//	 */
//	public String getFechaTexto(){
//		String fechaTexto;
//		DateFormat formateador;
//		formateador = DateFormat.getDateInstance(DateFormat.SHORT);
//		fechaTexto = formateador.format(fecha);
//		return fechaTexto;
//	}
//
//	/**
//	 * Retorna la fechaValor del movimiento de cuenta
//	 * @return retorna la fechaValor
//	 */
//	public String getFechaValorTexto(){
//		String fechaTexto;
//		DateFormat formateador;
//		formateador = DateFormat.getDateInstance(DateFormat.SHORT);
//		fechaTexto = formateador.format(fechaValor);
//		return fechaTexto;
//	}
//
//	/**
//	 * Retorna el remitente del movimiento de cuenta
//	 * @return retorna el remitente
//	 */
//	public String getRemitente(){
//		return remitente;
//	}
//
//	/**
//	 * Retorna el importe del movimiento de cuenta
//	 * @return retorna el importe
//	 */
//	public double getImporte(){
//		return importe;
//	}
//
//	/**
//	 * Retorna el saldo en euros del movimiento de cuenta
//	 * @return retorna el saldo
//	 */
//	public double getSaldo(){
//		return saldo;
//	}
//	
//	/**
//	 * Retorna el importe en euros del movimiento de cuenta en formato texto
//	 * @return retorna el importe en formato texto
//	 */
//	public String getImporteStr(){
//
//	    DecimalFormat formatter = new DecimalFormat("#.00");
//	    String importeStr = formatter.format(importe);      
//		return importeStr;
//	}
//	
//	/**
//	 * Retorna el saldo en euros del movimiento de cuenta en formato texto
//	 * @return retorna el saldo en formato texto
//	 */
//	public String getSaldoStr(){
//
//	    DecimalFormat formatter = new DecimalFormat("#.00");
//	    String saldoStr = formatter.format(saldo);      
//		return saldoStr;
//	}

}
